3d6672f234bb239194ed1deee43bdf315224adbf,src/main/java/com/thexfactor117/levels/events/EventLivingDeath.java,EventLivingDeath,onEntityDeath,#LivingDeathEvent#,31

Before Change



			if (stack != null && stack.getItem() instanceof ItemSword)
			{
				NBTTagCompound nbt = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound();
				int level = Experience.getLevel(nbt);
				int experience = Experience.getExperience(nbt);

				/*
				 * Rarities
				 */
				if (Rarity.getRarity(nbt) == Rarity.UNKOWN)
				{
					RandomCollection<Rarity> rarities = new RandomCollection<Rarity>();

					rarities.add(0.65D, Rarity.BASIC);
					rarities.add(0.17D, Rarity.UNCOMMON);
					rarities.add(0.11D, Rarity.RARE);
					rarities.add(0.05D, Rarity.LEGENDARY);
					rarities.add(0.02D, Rarity.ANCIENT);
					Rarity rarity = rarities.next();
					LogHelper.info(rarity);
					rarity.setRarity(nbt);
					player.worldObj.playSoundAtEntity(player, "mob.enderdragon.end", 0.25F * (float) (rarity.ordinal() - 1), 1.0F);
				}

				/*
				 * Weapon Bonus Experience
				 */
				if (level < ItemType.WEAPON.getMaxLevel())
				{
					if (event.entityLiving instanceof EntityMob)
					{
						boolean developmentEnvironment = (Boolean)Launch.blackboard.get("fml.deobfuscatedEnvironment");
						experience += developmentEnvironment ? 1000 : ConfigHandler.weaponMonsterExpBonus;
					}

					if (event.entityLiving instanceof EntityAnimal)
					{
						experience += ConfigHandler.weaponAnimalExpBonus;
					}

					Experience.setExperience(nbt, experience);
				}

				/*
				 * Leveling system
				 */
				while (level < Experience.getLevelsUp(player, level, experience, ItemType.WEAPON))
				{
					level++;
					AbilityHelper.getRandomizedMeleeAbilities(stack, level);
				}

				Experience.setLevel(nbt, level);

				if (!nbt.hasNoTags() && !stack.hasTagCompound())
				{
					stack.setTagCompound(nbt);
				}
			}
		}

After Change



			if (stack != null && stack.getItem() instanceof ItemSword)
			{
				NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);
				int level = Experience.getLevel(nbt);
				int experience = Experience.getExperience(nbt);

				/*
				 * Rarities
				 */
				Rarity rarity = Rarity.getRarity(nbt);
				if (rarity == Rarity.UNKOWN)
				{
					rarity = Rarity.getRandomRarity(rand);
					LogHelper.info(rarity);
					rarity.setRarity(nbt);
					player.worldObj.playSoundAtEntity(player, "mob.enderdragon.end", 0.25F * (float) (rarity.ordinal() - 1), 1.0F);
				}

				/*
				 * Weapon Bonus Experience
				 */
				if (level < Reference.MAX_LEVEL)
				{
					if (event.entityLiving instanceof EntityMob)
					{
						experience += ConfigHandler.enableDevFeatures ? 1000 : ConfigHandler.weaponMonsterExpBonus;
					}

					if (event.entityLiving instanceof EntityAnimal)
					{
						experience += ConfigHandler.weaponAnimalExpBonus;
					}

					Experience.setExperience(nbt, experience);
				}

				/*
				 * Leveling system
				 */
				level = Experience.getLevelsUp(player, nbt, level, experience, ItemType.WEAPON, rand);
				Experience.setLevel(nbt, level);

				NBTHelper.saveStackNBT(stack, nbt);
			}
		}
	}